package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购对象 oa_other
 *
 * @author ruoyi
 * @date 2025-03-11
 */
public class OaOther extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 序好 */
    @Excel(name = "序好")
    private String serialNumber;

    /** 类别/名称 */
    @Excel(name = "类别/名称")
    private String categoryName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specificationModel;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 预算总价 */
    @Excel(name = "预算总价")
    private BigDecimal totalBudget;

    /** 经办人 */
    @Excel(name = "经办人")
    private String agent;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 发起编号 */
    @Excel(name = "立项id")
    private String initiationId;

    /** 类别（供应商\电商\零星采购\其他） */
    @Excel(name = "类别", readConverterExp = "供应商=电商=零星采购=其他")
    private String type;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setSerialNumber(String serialNumber)
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber()
    {
        return serialNumber;
    }

    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }

    public void setSpecificationModel(String specificationModel)
    {
        this.specificationModel = specificationModel;
    }

    public String getSpecificationModel()
    {
        return specificationModel;
    }

    public void setSupplier(String supplier)
    {
        this.supplier = supplier;
    }

    public String getSupplier()
    {
        return supplier;
    }

    public void setQuantity(Long quantity)
    {
        this.quantity = quantity;
    }

    public Long getQuantity()
    {
        return quantity;
    }

    public void setUnitPrice(BigDecimal unitPrice)
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice()
    {
        return unitPrice;
    }

    public void setTotalBudget(BigDecimal totalBudget)
    {
        this.totalBudget = totalBudget;
    }

    public BigDecimal getTotalBudget()
    {
        return totalBudget;
    }

    public void setAgent(String agent)
    {
        this.agent = agent;
    }

    public String getAgent()
    {
        return agent;
    }

    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }

    public void setInitiationId(String initiationId)
    {
        this.initiationId = initiationId;
    }

    public String getInitiationId()
    {
        return initiationId;
    }

    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("serialNumber", getSerialNumber())
            .append("categoryName", getCategoryName())
            .append("specificationModel", getSpecificationModel())
            .append("supplier", getSupplier())
            .append("quantity", getQuantity())
            .append("unitPrice", getUnitPrice())
            .append("totalBudget", getTotalBudget())
            .append("agent", getAgent())
            .append("creationTime", getCreationTime())
            .append("initiationId", getInitiationId())
            .append("type", getType())
            .toString();
    }
}
